13 research outputs found

    Controlling Rewriting: study and implementation of a strategy formalism (Abstract)

    Get PDF
    AbstractThis paper summarizes my PhD thesis devoted to an introduction of a new strategy formalism for the first-order rewrite system, called ELAN. Goals of my PhD thesis are proposing and studying different constructions expressing the control of rewriting at the level of rules and strategies, studying a strategy-directed cooperation of procedures (i.e. solvers), and finally, exploring certain reflexive aspects of computational systems to be able to express their transformations by computational systems. The principal goal is a design of a declarative, strictly typed and extensible strategy language based on rewriting logic within the existing framework ELAN. A programming style of the strategy language, different language constructions and extensions (e.g. high-level or polymorphic strategies) and several used implementation techniques (e.g. partial evaluation, or compilation) are also studied in this thesis. This paper outlines the principal problems attacked in this thesis, highlights several new ideas and proposed solutions

    Strategic programming on graph rewriting systems

    Full text link
    We describe a strategy language to control the application of graph rewriting rules, and show how this language can be used to write high-level declarative programs in several application areas. This language is part of a graph-based programming tool built within the port-graph transformation and visualisation environment PORGY.Comment: In Proceedings IWS 2010, arXiv:1012.533

    Extensional and Intensional Strategies

    Full text link
    This paper is a contribution to the theoretical foundations of strategies. We first present a general definition of abstract strategies which is extensional in the sense that a strategy is defined explicitly as a set of derivations of an abstract reduction system. We then move to a more intensional definition supporting the abstract view but more operational in the sense that it describes a means for determining such a set. We characterize the class of extensional strategies that can be defined intensionally. We also give some hints towards a logical characterization of intensional strategies and propose a few challenging perspectives

    Basic completion strategies as another application of the Maude strategy language

    Full text link
    The two levels of data and actions on those data provided by the separation between equations and rules in rewriting logic are completed by a third level of strategies to control the application of those actions. This level is implemented on top of Maude as a strategy language, which has been successfully used in a wide range of applications. First we summarize the Maude strategy language design and review some of its applications; then, we describe a new case study, namely the description of completion procedures as transition rules + control, as proposed by Lescanne.Comment: In Proceedings WRS 2011, arXiv:1204.531

    Le contrôle de la réécriture : étude et implantation d'un formalisme de stratégies

    No full text
    Texte intégral accessible uniquement aux membres de l'Université de LorraineNot availableNous nous intéressons dans cette thèse à la réécriture comme principe d'évaluation et de calcul, et à la logique correspondante. Dans ce cadre, nous étudions différentes possibilités de contrôle des dérivations de réécriture. Nous considérons des règles conditionnelles avec une structure de conditions suffisamment flexible pour exprimer des conditions simples ou structurées, des affectations simples de variables ou le filtrage de motifs. Lorsque les règles de réécriture sont nommées, nous pouvons exprimer le contrôle du système de façon déclarative en spécifiant les séquences de règles et leurs instances qui sont acceptables. Le calcul de preuves de la logique de réécriture, qui représente un modèle théorique de la réécriture, offre la possibilité de généraliser ces séquences de règles aux termes de preuves exprimant quelle instance de la règle est appliquée a quel terme. L’étude d'un langage pour spécifier les ensembles de termes de preuves appelés stratégies est l'apport principal de cette thèse. Les différents aspects, de sémantique, paradigme de programmation et implantation de ce langage dans le système ELAN sont considérés. Les principales caractéristiques du langage de stratégies propose sont : la sémantique basée sur la logique de réécriture, la possibilité d'exprimer les dérivations non-déterministes et concurrentes, le typage strict de toutes les constructions du langage dans le contexte multi-sorte et son extensibilité par de nouvelles constructions. Ce langage de stratégies est défini par un enrichissement d'une théorie de réécriture en une théorie de stratégies qui est également une théorie de réécriture. Cette transformation permet de créer une hiérarchie de stratégies dans laquelle il existe des stratégies qui contrôlent les dérivations d'autres stratégies. Cette thèse illustre plusieurs applications et exemples d'utilisation du langage de stratégies et propose plusieurs méthodes pour son implantation : par un méta-interpréteur optimise en utilisant les techniques d'évaluation partielle ou par la compilation de stratégies

    Handling ELAN rewrite programs via an exchange format

    No full text
    AbstractDesigning a programming environment raises difficult implementation problems since such software is not just one piece of code able to execute programs expressed in a given programming language, but consists generally of several heterogeneous tools. The idea behind a data exchange format is to provide a common representation for the interconnection of these different tools. Moreover, an exchange format is a way to handle programs like any kind of objects in the programming language, and so it is useful for instance in the context of the reflection problem. In this paper, we report our experiments with the current exchange format created and used by the actual implementation of the rule-based programming language ELAN
    corecore